package com.iplant.mes.service.po.andon;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.ams.service.po.dms.DMSDeviceLedger;
import com.iplant.ams.service.po.dms.scada.alarm.DMSDeviceAlarm;
import com.iplant.aps.service.po.aps.APSTaskPart;
import com.iplant.aps.service.po.oms.OMSOrder;
import com.iplant.mes.service.po.andon.productData.AndonFinishSituation;
import com.iplant.mes.service.po.andon.productData.AndonOrderRate;
import com.iplant.mes.service.po.andon.productData.AndonProductRate;
import com.iplant.mes.service.po.andon.productData.AndonTodayFinishNum;
import com.iplant.mes.service.po.exc.EXCUnusualTask;

import java.util.ArrayList;
import java.util.List;

/**
 * 生产看板数据
 *
 * @author YouWang·Peng
 * 2024-1-3 16:37:25
 */
public class AndonProductData {
    /**
     * 01今日完成情况
     */
    public List<AndonFinishSituation> TodayList = new ArrayList<>();
    /**
     * 02订单合格率
     */
    public List<AndonOrderRate> OrderRateList = new ArrayList<>();
    /**
     * 03产品合格率
     */
    public List<AndonProductRate> ProductRateList = new ArrayList<>();
    /**
     * 04生产计划信息
     */
    public List<OMSOrder> OrderList = new ArrayList<>();
    /**
     * 05周完成情况
     */
    public List<AndonFinishSituation> WeekList = new ArrayList<>();
    /**
     * 06生产异常信息
     */
    public List<EXCUnusualTask> ExcTaskList = new ArrayList<>();
    /**
     * 07生产计划进度
     */
    public List<APSTaskPart> TaskPartList = new ArrayList<>();
    /**
     * 08月完成情况
     */
    public List<AndonFinishSituation> MonthList = new ArrayList<>();
    /**
     * 09设备资产信息
     */
    public List<DMSDeviceLedger> DeviceLedgerList = new ArrayList<>();
    /**
     * 10设备故障信息
     */
    public List<DMSDeviceAlarm> DeviceAlarmList = new ArrayList<>();
    /**
     * 11今日完成数
     */
    public List<AndonTodayFinishNum> TodayFinishMap = new ArrayList<>();

    public AndonProductData() {
    }

    public AndonProductData(List<AndonFinishSituation> todayList, List<AndonOrderRate> orderRateList,
                            List<AndonProductRate> productRateList, List<OMSOrder> orderList,
                            List<AndonFinishSituation> weekList, List<EXCUnusualTask> excTaskList,
                            List<APSTaskPart> taskPartList, List<AndonFinishSituation> monthList,
                            List<DMSDeviceLedger> deviceLedgerList, List<DMSDeviceAlarm> deviceAlarmList, List<AndonTodayFinishNum> todayFinishMap) {
        TodayList = todayList;
        OrderRateList = orderRateList;
        ProductRateList = productRateList;
        OrderList = orderList;
        WeekList = weekList;
        ExcTaskList = excTaskList;
        TaskPartList = taskPartList;
        MonthList = monthList;
        DeviceLedgerList = deviceLedgerList;
        DeviceAlarmList = deviceAlarmList;
        TodayFinishMap = todayFinishMap;
    }

    @JsonProperty("TodayList")
    public List<AndonFinishSituation> getTodayList() {
        return TodayList;
    }

    public void setTodayList(List<AndonFinishSituation> todayList) {
        TodayList = todayList;
    }

    @JsonProperty("OrderRateList")
    public List<AndonOrderRate> getOrderRateList() {
        return OrderRateList;
    }

    public void setOrderRateList(List<AndonOrderRate> orderRateList) {
        OrderRateList = orderRateList;
    }

    @JsonProperty("ProductRateList")
    public List<AndonProductRate> getProductRateList() {
        return ProductRateList;
    }

    public void setProductRateList(List<AndonProductRate> productRateList) {
        ProductRateList = productRateList;
    }

    @JsonProperty("OrderList")
    public List<OMSOrder> getOrderList() {
        return OrderList;
    }

    public void setOrderList(List<OMSOrder> orderList) {
        OrderList = orderList;
    }

    @JsonProperty("WeekList")
    public List<AndonFinishSituation> getWeekList() {
        return WeekList;
    }

    public void setWeekList(List<AndonFinishSituation> weekList) {
        WeekList = weekList;
    }

    @JsonProperty("ExcTaskList")
    public List<EXCUnusualTask> getExcTaskList() {
        return ExcTaskList;
    }

    public void setExcTaskList(List<EXCUnusualTask> excTaskList) {
        ExcTaskList = excTaskList;
    }

    @JsonProperty("TaskPartList")
    public List<APSTaskPart> getTaskPartList() {
        return TaskPartList;
    }

    public void setTaskPartList(List<APSTaskPart> taskPartList) {
        TaskPartList = taskPartList;
    }

    @JsonProperty("MonthList")
    public List<AndonFinishSituation> getMonthList() {
        return MonthList;
    }

    public void setMonthList(List<AndonFinishSituation> monthList) {
        MonthList = monthList;
    }

    @JsonProperty("DeviceLedgerList")
    public List<DMSDeviceLedger> getDeviceLedgerList() {
        return DeviceLedgerList;
    }

    public void setDeviceLedgerList(List<DMSDeviceLedger> deviceLedgerList) {
        DeviceLedgerList = deviceLedgerList;
    }

    @JsonProperty("DeviceAlarmList")
    public List<DMSDeviceAlarm> getDeviceAlarmList() {
        return DeviceAlarmList;
    }

    public void setDeviceAlarmList(List<DMSDeviceAlarm> deviceAlarmList) {
        DeviceAlarmList = deviceAlarmList;
    }

    @JsonProperty("TodayFinishMap")
    public List<AndonTodayFinishNum> getTodayFinishMap() {
        return TodayFinishMap;
    }

    public void setTodayFinishMap(List<AndonTodayFinishNum> todayFinishMap) {
        TodayFinishMap = todayFinishMap;
    }
}
